JavaFX 3D Shapes হল JavaFX এর একটি শক্তিশালী ফিচার যা 3D গ্রাফিক্স তৈরি করতে সহায়তা করে। JavaFX আপনাকে সহজে Box, Cylinder, এবং Sphere সহ বিভিন্ন ধরনের 3D শেপ তৈরি করার সুবিধা দেয়। আপনি এই শেপগুলির সাথে রোটেশন, স্কেলিং, এবং ট্রান্সফরমেশন প্রয়োগ করতে পারেন, যা গ্রাফিক্যাল অ্যাপ্লিকেশনগুলোকে আরও বাস্তবসম্মত এবং ইন্টারঅ্যাকটিভ করে তোলে।
1. Box (বক্স)
Box হল একটি 3D শেপ যা একটি পিরামিডের মতো দেখতে তবে এর সাড়ে তিনটি পাশ থাকে, এটি একটি সাধারণ কিউবের মতো। JavaFX-এ, Box ক্লাস ব্যবহার করে আপনি 3D বক্স তৈরি করতে পারেন।
Box উদাহরণ:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.Box;
import javafx.scene.transform.Rotate;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class BoxExample extends Application {
@Override
public void start(Stage primaryStage) {
// একটি Box তৈরি করা
Box box = new Box(100, 100, 100); // দৈর্ঘ্য, প্রস্থ, এবং উচ্চতা
// বক্সের জন্য একটি মেটেরিয়াল সেট করা
PhongMaterial material = new PhongMaterial();
material.setDiffuseColor(Color.DODGERBLUE);
box.setMaterial(material);
// বক্সটিকে ঘোরানোর জন্য রোটেশন প্রয়োগ করা
box.setRotationAxis(Rotate.Y_AXIS); // Y অক্ষের চারপাশে ঘোরানো
box.setRotate(45); // 45 ডিগ্রি ঘুরানো
// StackPane লেআউট তৈরি করা
StackPane root = new StackPane();
root.getChildren().add(box);
// Scene তৈরি এবং সেট করা
Scene scene = new Scene(root, 300, 250, true); // 3D Scene এর জন্য তৃতীয় প্যারামিটার true
primaryStage.setTitle("3D Box Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
এখানে কী হচ্ছে?
- Box তৈরি করার জন্য
Boxক্লাস ব্যবহার করা হয়েছে। এটি তিনটি আকার নির্ধারণ করে: দৈর্ঘ্য, প্রস্থ এবং উচ্চতা। - PhongMaterial ব্যবহার করে বক্সের রঙ বা মেটেরিয়াল সেট করা হয়েছে।
Rotate.Y_AXISব্যবহার করে Y অক্ষের চারপাশে বক্সটিকে ঘোরানো হয়েছে।
2. Cylinder (সিলিন্ডার)
Cylinder হল একটি 3D শেপ যা একটি সিলিন্ডারের মতো দেখতে। JavaFX-এ Cylinder ক্লাস ব্যবহার করে আপনি সহজে 3D সিলিন্ডার তৈরি করতে পারেন।
Cylinder উদাহরণ:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.Cylinder;
import javafx.scene.transform.Rotate;
import javafx.stage.Stage;
public class CylinderExample extends Application {
@Override
public void start(Stage primaryStage) {
// একটি Cylinder তৈরি করা
Cylinder cylinder = new Cylinder(50, 150); // ব্যাসার্ধ এবং উচ্চতা
// সিলিন্ডারের জন্য একটি মেটেরিয়াল সেট করা
PhongMaterial material = new PhongMaterial();
material.setDiffuseColor(Color.RED);
cylinder.setMaterial(material);
// সিলিন্ডারটিকে ঘোরানোর জন্য রোটেশন প্রয়োগ করা
cylinder.setRotationAxis(Rotate.X_AXIS); // X অক্ষের চারপাশে ঘোরানো
cylinder.setRotate(45); // 45 ডিগ্রি ঘুরানো
// StackPane লেআউট তৈরি করা
StackPane root = new StackPane();
root.getChildren().add(cylinder);
// Scene তৈরি এবং সেট করা
Scene scene = new Scene(root, 300, 250, true); // 3D Scene এর জন্য তৃতীয় প্যারামিটার true
primaryStage.setTitle("3D Cylinder Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
এখানে কী হচ্ছে?
- Cylinder তৈরি করা হয়েছে
Cylinderক্লাসের মাধ্যমে। এটি ব্যাসার্ধ এবং উচ্চতা নেবে। - PhongMaterial ব্যবহার করে সিলিন্ডারের রঙ বা মেটেরিয়াল সেট করা হয়েছে।
Rotate.X_AXISব্যবহার করে X অক্ষের চারপাশে সিলিন্ডারটিকে ঘোরানো হয়েছে।
3. Sphere (স্ফিয়ার)
Sphere হল একটি 3D শেপ যা একটি গোলাকার আকার ধারণ করে। JavaFX-এ, Sphere ক্লাস ব্যবহার করে আপনি 3D স্ফিয়ার তৈরি করতে পারেন।
Sphere উদাহরণ:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.Sphere;
import javafx.stage.Stage;
public class SphereExample extends Application {
@Override
public void start(Stage primaryStage) {
// একটি Sphere তৈরি করা
Sphere sphere = new Sphere(50); // ব্যাসার্ধ
// স্ফিয়ারের জন্য একটি মেটেরিয়াল সেট করা
PhongMaterial material = new PhongMaterial();
material.setDiffuseColor(Color.GREEN);
sphere.setMaterial(material);
// StackPane লেআউট তৈরি করা
StackPane root = new StackPane();
root.getChildren().add(sphere);
// Scene তৈরি এবং সেট করা
Scene scene = new Scene(root, 300, 250, true); // 3D Scene এর জন্য তৃতীয় প্যারামিটার true
primaryStage.setTitle("3D Sphere Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
এখানে কী হচ্ছে?
- Sphere তৈরি করা হয়েছে
Sphereক্লাসের মাধ্যমে। এটি একটি গোলাকার শেপ যা ব্যাসার্ধ নেবে। - PhongMaterial ব্যবহার করে স্ফিয়ারের রঙ বা মেটেরিয়াল সেট করা হয়েছে।
JavaFX 3D Shapes এর Transformations
JavaFX 3D শেপগুলির জন্য বিভিন্ন transformations যেমন Translate, Rotate, এবং Scale ব্যবহার করে আপনি 3D শেপগুলির অবস্থান, আকার, এবং ঘূর্ণন পরিবর্তন করতে পারেন। উদাহরণস্বরূপ:
Transformations উদাহরণ:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.Cylinder;
import javafx.scene.transform.Rotate;
import javafx.scene.transform.Translate;
import javafx.stage.Stage;
public class TransformationsExample extends Application {
@Override
public void start(Stage primaryStage) {
// একটি Cylinder তৈরি করা
Cylinder cylinder = new Cylinder(50, 150);
// সিলিন্ডারের জন্য একটি মেটেরিয়াল সেট করা
PhongMaterial material = new PhongMaterial();
material.setDiffuseColor(Color.BLUE);
cylinder.setMaterial(material);
// ট্রান্সফর্মেশন যোগ করা (Translate এবং Rotate)
cylinder.setTranslateX(100); // X অক্ষে স্থানান্তর
cylinder.setTranslateY(100); // Y অক্ষে স্থানান্তর
cylinder.setRotationAxis(Rotate.Z_AXIS); // Z অক্ষের চারপাশে ঘোরানো
cylinder.setRotate(45); // 45 ডিগ্রি ঘুরানো
// StackPane লেআউট তৈরি করা
StackPane root = new StackPane();
root.getChildren().add(cylinder);
// Scene তৈরি এবং সেট করা
Scene scene = new Scene(root, 300, 250, true);
primaryStage.setTitle("3D Transformations Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Transformations এর ব্যবহার:
- Translate: শেপটিকে X, Y, এবং Z অক্ষের চারপাশে স্থানান্তর করার জন্য ব্যবহৃত হয়।
- Rotate: শেপটিকে ঘোরানোর জন্য ব্যবহৃত হয়। ঘূর্ণন সাধারনত X, Y, এবং Z অক্ষের চারপাশে হতে পারে।
- Scale: শেপটির আকার পরিবর্তন করার জন্য ব্যবহৃত হয়।
JavaFX 3D Shapes এর সুবিধা:
- ব্যক্তিগতকৃত গ্রাফিক্স: JavaFX আপনাকে 3D শেপ তৈরি এবং কাস্টমাইজ করার সুযোগ দেয়।
- থ্রিডি অ্যানিমেশন: 3D শেপগুলির সঙ্গে সহজে অ্যানিমেশন যোগ করা যায়।
- এন্টারপ্রাইজ এবং গেমস: JavaFX 3D গ্রাফিক্স সরঞ্জামগুলির মাধ্যমে গেম বা অন্যান্য 3D ভিজ্যুয়ালাইজেশন অ্যাপ্লিকেশন তৈরি করা যায়।
- Transformations: 3D শেপগুলির সাথে নানা ধরনের পরিবর্তন (স্থানান্তর, ঘূর্ণন, আকার) সহজেই করা যায়।
সারাংশ:
JavaFX 3D Shapes (Box, Cylinder, Sphere) এবং তাদের Transformations (যেমন Translate, Rotate, Scale) ব্যবহার করে আপনি 3D গ্রাফিক্স তৈরি করতে পারেন এবং তাদের বিভিন্ন ধরণের পরিবর্তন করতে সক্ষম হবেন। এই ফিচারগুলি গ্রাফিক্যাল অ্যাপ্লিকেশনগুলিতে সুন্দর এবং ইন্টারঅ্যাকটিভ 3D ভিজ্যুয়াল উপাদান তৈরি করতে সাহায্য করে।
Read more